Get up and running quickly
This guide will have you collecting Steam Market data in under 5 minutes.Install dependencies
Hridaya requires Python 3.10+ and uses modern async libraries:
What gets installed?
What gets installed?
Hridaya’s dependencies are minimal and focused:
Configure your tracking items
Edit
config.yaml to specify which items to track:config.yaml
Configuration validation happens automatically on startup. Hridaya will:
- Verify all required fields are present
- Check that your polling intervals are feasible within rate limits
- Auto-populate
item_nameidfor CS2 items (required for histogram/activity endpoints)
Understanding polling intervals
Understanding polling intervals
The If your config exceeds rate limits, you’ll see:
polling-interval-in-seconds determines how often each item is polled.Hridaya validates that your configuration is feasible:(Optional) Configure price history access
The
pricehistory endpoint requires Steam session cookies. Create a .env file:.env
How to get Steam session cookies
How to get Steam session cookies
If you don’t configure cookies,
pricehistory endpoints will fail silently. Other endpoints work without authentication.What happens on startup
Configuration loading and validation
Configuration loading and validation
The Orchestrator reads Common validation errors:
config.yaml and performs several checks:cerebro.py:43-58
- Missing required fields (
market_hash_name,apiid,polling-interval-in-seconds,appid) - Invalid
apiid(must be one of:priceoverview,itemordershistogram,itemordersactivity,pricehistory) - Missing
item_nameidfor histogram/activity endpoints - Infeasible rate limits (total requests exceed 15 per 60 seconds)
Scheduler initialization
Scheduler initialization
Based on your configured items, Hridaya creates the appropriate schedulers:Critical: All schedulers share a single
cerebro.py:156-179
RateLimiter instance to enforce global rate limits.Database setup
Database setup
SQLite database is automatically created with optimized settings:These optimizations enable high-concurrency writes from multiple schedulers.
SQLinserts.py:98-115
Graceful shutdown handling
Graceful shutdown handling
Hridaya handles shutdown signals (Ctrl+C or SIGTERM) gracefully:When you press Ctrl+C:
cerebro.py:181-189
- All in-flight API requests complete
- Database connections close cleanly
- No data is lost mid-write
Common configurations
Troubleshooting
Error: item_nameid not found
Error: item_nameid not found
itemordershistogram and itemordersactivity endpoints require an item_nameid field. Hridaya auto-populates this for CS2 items but may not find all items.Solution:- Manually add the
item_nameidto your config:
- Or switch to
priceoverviewwhich doesn’t requireitem_nameid:
Error: Infeasible configuration
Error: Infeasible configuration
pricehistory returns empty data
pricehistory returns empty data
Cause: Missing or invalid Steam session cookies.Solution: Verify your Cookies expire periodically - re-fetch them from your browser if data stops flowing.
.env file contains valid cookies:Database locked errors
Database locked errors
- Only one Hridaya instance is running
- No other tools have the database open in exclusive mode
Next steps
Installation guide
Learn about advanced configuration options and TimescaleDB setup
Architecture deep dive
Understand how Hridaya’s components work together